# Copyright (c) OpenMMLab. All rights reserved.
# 定义当前版本号
__version__ = '0.5.0rc2'


def parse_version_info(version_str):
    """
    解析版本信息字符串。
    
    Args:
        version_str: 版本号字符串，如 '0.1.0'
        
    Returns:
        tuple: 包含主版本号、次版本号、修订号的元组
        
    示例:
        >>> parse_version_info('0.1.0')
        (0, 1, 0)
        >>> parse_version_info('0.5.0rc2')
        (0, 5, 0, 'rc2')
    """
    version_info = []
    # 按点分割版本号
    for x in version_str.split('.'):
        if x.isdigit():
            # 纯数字部分直接转为整数
            version_info.append(int(x))
        elif x.find('rc') != -1:
            # 处理 release candidate 版本号
            patch_version = x.split('rc')
            # 添加修订号
            version_info.append(int(patch_version[0]))
            # 添加 rc 标识和编号
            version_info.append(f'rc{patch_version[1]}')
    return tuple(version_info)


# 解析当前版本号
version_info = parse_version_info(__version__)

# 导出的公共接口
__all__ = ['__version__', 'version_info', 'parse_version_info']
